package com.bsoft.gol.hcs.satisfaction.bean.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.bsoft.gol.hcs.followup.bean.response.FollowUpEducationVO;
import com.bsoft.gol.hcs.satisfaction.entity.PatientSatisfactionSurvey;
import com.bsoft.gol.hcs.specialist.entity.SatisfactionRequisitionRecord;

import java.util.Date;
import java.util.List;

public class SurveyPlanDetailResponse extends PatientSatisfactionSurvey {

    private String recordType;
    private String surveyStatusText;
    private String processingStatusText;
    private List<TitleBean> titleList;
    private List<SatisfactionRequisitionRecord> satisfactionRequisitionRecordList;
    private List<FollowUpEducationVO> satisfactionHealthEducationList;

    // 业务发生时间
    private Date businessTime;

    //业务项名称列表
    private List<String> businessItemNames;

    /**
     * 患者id
     */
    private String personId;

    /**
     * 最后编辑人
     */
    private String modifyName;

    private List<Questionnaire> questionnaireList;

    public List<Questionnaire> getQuestionnaireList() {
        return questionnaireList;
    }

    public void setQuestionnaireList(List<Questionnaire> questionnaireList) {
        this.questionnaireList = questionnaireList;
    }

    @Override
    public String toString() {
        return super.toString() + "SurveyPlanDetailResponse{" +
                "recordType='" + recordType + '\'' +
                ", surveyStatusText='" + surveyStatusText + '\'' +
                ", processingStatusText='" + processingStatusText + '\'' +
                ", titleList=" + titleList +
                ", satisfactionRequisitionRecordList=" + satisfactionRequisitionRecordList +
                ", satisfactionHealthEducationList=" + satisfactionHealthEducationList +
                '}';
    }

    public String getRecordType() {
        return recordType;
    }

    public void setRecordType(String recordType) {
        this.recordType = recordType;
    }

    public String getSurveyStatusText() {
        return surveyStatusText;
    }

    public void setSurveyStatusText(String surveyStatusText) {
        this.surveyStatusText = surveyStatusText;
    }

    public String getProcessingStatusText() {
        return processingStatusText;
    }

    public void setProcessingStatusText(String processingStatusText) {
        this.processingStatusText = processingStatusText;
    }

    public List<TitleBean> getTitleList() {
        return titleList;
    }

    public void setTitleList(List<TitleBean> titleList) {
        this.titleList = titleList;
    }

    public List<SatisfactionRequisitionRecord> getSatisfactionRequisitionRecordList() {
        return satisfactionRequisitionRecordList;
    }

    public void setSatisfactionRequisitionRecordList(List<SatisfactionRequisitionRecord> satisfactionRequisitionRecordList) {
        this.satisfactionRequisitionRecordList = satisfactionRequisitionRecordList;
    }

    public List<FollowUpEducationVO> getSatisfactionHealthEducationList() {
        return satisfactionHealthEducationList;
    }

    public void setSatisfactionHealthEducationList(List<FollowUpEducationVO> satisfactionHealthEducationList) {
        this.satisfactionHealthEducationList = satisfactionHealthEducationList;
    }

    public Date getBusinessTime() {
        return businessTime;
    }

    public void setBusinessTime(Date businessTime) {
        this.businessTime = businessTime;
    }

    public List<String> getBusinessItemNames() {
        return businessItemNames;
    }

    public void setBusinessItemNames(List<String> businessItemNames) {
        this.businessItemNames = businessItemNames;
    }

    public String getPersonId() {
        return personId;
    }

    public void setPersonId(String personId) {
        this.personId = personId;
    }

    public String getModifyName() {
        return modifyName;
    }

    public void setModifyName(String modifyName) {
        this.modifyName = modifyName;
    }

    public static class TitleBean {
        private String titleId;
        private String titleName;
        private String answerId;
        private String answerName;
        private String processingOpinions;
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
        private Date processingTime;
        private long medicalTeamId;
        private String medicalTeamName;
        private String notifyFlag;

        private String questionnaireId;

        private String questionnaireName;

        public String getQuestionnaireId() {
            return questionnaireId;
        }

        public void setQuestionnaireId(String questionnaireId) {
            this.questionnaireId = questionnaireId;
        }

        public String getQuestionnaireName() {
            return questionnaireName;
        }

        public void setQuestionnaireName(String questionnaireName) {
            this.questionnaireName = questionnaireName;
        }

        public String getTitleId() {
            return titleId;
        }

        public void setTitleId(String titleId) {
            this.titleId = titleId;
        }

        public String getTitleName() {
            return titleName;
        }

        public void setTitleName(String titleName) {
            this.titleName = titleName;
        }

        public String getAnswerId() {
            return answerId;
        }

        public void setAnswerId(String answerId) {
            this.answerId = answerId;
        }

        public String getAnswerName() {
            return answerName;
        }

        public void setAnswerName(String answerName) {
            this.answerName = answerName;
        }

        public String getProcessingOpinions() {
            return processingOpinions;
        }

        public void setProcessingOpinions(String processingOpinions) {
            this.processingOpinions = processingOpinions;
        }

        public Date getProcessingTime() {
            return processingTime;
        }

        public void setProcessingTime(Date processingTime) {
            this.processingTime = processingTime;
        }

        public long getMedicalTeamId() {
            return medicalTeamId;
        }

        public void setMedicalTeamId(long medicalTeamId) {
            this.medicalTeamId = medicalTeamId;
        }

        public String getMedicalTeamName() {
            return medicalTeamName;
        }

        public void setMedicalTeamName(String medicalTeamName) {
            this.medicalTeamName = medicalTeamName;
        }

        public String getNotifyFlag() {
            return notifyFlag;
        }

        public void setNotifyFlag(String notifyFlag) {
            this.notifyFlag = notifyFlag;
        }
    }

    public static class Questionnaire{
        private String questionnaireId;

        private String questionnaireName;

        private List<TitleBean> titleBeanList;

        public List<TitleBean> getTitleBeanList() {
            return titleBeanList;
        }

        public void setTitleBeanList(List<TitleBean> titleBeanList) {
            this.titleBeanList = titleBeanList;
        }

        public String getQuestionnaireId() {
            return questionnaireId;
        }

        public void setQuestionnaireId(String questionnaireId) {
            this.questionnaireId = questionnaireId;
        }

        public String getQuestionnaireName() {
            return questionnaireName;
        }

        public void setQuestionnaireName(String questionnaireName) {
            this.questionnaireName = questionnaireName;
        }
    }
}